package com.xbongbong.saas.enums;

import com.xbongbong.i18n.util.I18nMessageUtil;
import lombok.Getter;

import java.util.ArrayList;
import java.util.List;

/**
 * e签宝任务状态
 * 创建时间 2020/6/24 4:31 PM
 * 修改时间 2020/6/24 4:31 PM
 * @author chy
 */
@Getter
public enum EsignTaskTypeEnum {
    /**
     * 签署
     */
    SIGN(1, "enum.esignTaskType.name.sign"),
    /**
     * 文件
     */
    FILE(2, "enum.esignTaskType.name.file"),
    /**
     * 文件
     */
    AUTHORIZE(3, "enum.esignTaskType.name.authorize"),

    ;

    /** 枚举值 -- */
    private final int code;
    /** 枚举信息--中文名称 */
    private final String    name;

    EsignTaskTypeEnum(int code, String name) {
        this.code = code;
        this.name = name;
    }

    /**
     * 获取全部枚举
     *
     * @return List<EsignFlowStatusEnum>
     */
    public static List<EsignTaskTypeEnum> getAllEnum() {
        List<EsignTaskTypeEnum> list = new ArrayList<>();
        for (EsignTaskTypeEnum cache : values()) {
            list.add(cache);
        }
        return list;
    }

    /**
     * 根据alias获取枚举
     * @return
     */
    public static EsignTaskTypeEnum getByCode(int code) {
        for (EsignTaskTypeEnum cache : values()) {
            if (code == cache.getCode()) {
                return cache;
            }
        }
        return null;
    }

    public String getName() {
        return I18nMessageUtil.getMessage(name);
    }
}
